package cn.shengchao.examstar.knowledge.acl.ports.repositories;

import cn.shengchao.examstar.knowledge.domain.entity.KnowledgePoint;
import cn.shengchao.examstar.knowledge.domain.entity.KnowledgeTag;
import cn.shengchao.examstar.rpc.knowledge.req.KnowledgeReq;

import java.util.List;

public interface IKnowledgePointRepository {
    /**
     * 获取知识点标签
     *
     * @param id 知识点id
     * @return 标签列表
     */
    List<KnowledgeTag> getKnowledgePointTagList(Long id);

    /**
     * 绑定知识点标签
     *
     * @param id     知识点id
     * @param tagIds 标签id
     */
    void bindKnowledgePointTag(Long id, List<KnowledgeTag> tagIds);

    /**
     * 查询知识点列表
     */
    List<KnowledgePoint> getKnowledgePointByQuestionLeafList(KnowledgeReq knowledgeReq);


    /**
     * 获取知识点列表
     */
    List<KnowledgePoint> getKnowledgePointByPath(String knowledgePointPath);

    /**
     * 获取知识点
     */
    KnowledgePoint getKnowledgePoint(Long questionSetId);

    List<KnowledgePoint> getKnowledgePointByLeafList(KnowledgeReq knowledgeReq);
}
